package com.shujia.wyh.day23;

/*
        递归:方法定义中调用方法本身的现象

        StringBuffer的对象.append().append().append()   这个不叫方法的递归，这个现象叫做方法的链式调用
        Math.min(Min(a,b),c)  这个现象叫做方法嵌套调用，也不叫递归

        递归引入：
            1、从前有座山，山里有座庙，庙里有个老和尚，老和尚在给小和尚讲故事，讲的故事内容是：           1
                从前有座山，山里有座庙，庙里有个老和尚，老和尚在给小和尚讲故事，讲的故事内容是：          2
                    从前有座山，山里有座庙，庙里有个老和尚，老和尚在给小和尚讲故事，讲的故事内容是：      3
                        从前有座山，山里有座庙，庙里有个老和尚，老和尚在给小和尚讲故事，讲的故事内容是：  4
                           ....
               以下情况，故事不在衍生：庙倒了，老和尚圆寂了。。

            2、学习大数据--高薪就业--挣钱--娶媳妇--生娃--挣钱学习大数据：
                学习大数据--高薪就业--挣钱--娶媳妇--生娃--挣钱学习大数据：
                    学习大数据--高薪就业--挣钱--娶媳妇--生娃--挣钱学习大数据：
                        学习大数据--高薪就业--挣钱--娶媳妇--生娃--挣钱学习大数据：
                            学习大数据--高薪就业--挣钱--娶媳妇--生娃--挣钱学习大数据：
                            ....
               娶不到媳妇，生不了娃。

          递归的注意事项：
            1、递归一定要有一个出口，结束条件，否则就是死递归
            2、递归的次数不能太多，否则就会造成栈内存溢出
            3、构造方法不能初始化

 */
public class DiGuiDemo1 {
//    DiGuiDemo1(){
//        DiGuiDemo1();
//    }

    public static void show(int i){
        if(i<0){
            System.out.println("结束循环");
        }else {
            System.out.println(i);
            show(--i);
        }
    }

    public static void main(String[] args) {
        show(10);
    }



}
